import { defineStore } from 'pinia'
import type { IAccount } from '@/types'
// 指定state中的数据类型
// 方法一: 泛型
// defineStore<类型1 string,类型2 {}>类型指定的是('login', {})中对应位置的类型
// 点击defineStore可看到<>中可定义的数据类型 => S extends StateTree = {}
// const useLoginStore = defineStore<string, {}>('login', {

// 方法二 给箭头函数加类型
// function foo():number { return 123 }
// function foo = ():number => { return 123 }
interface ILoginState {
  token: string
  userInfo: any
  userMenus: any
  permissions: string[]
  userData: any
}
const useLoginStore = defineStore('login', {
  state: (): ILoginState => ({
    token: '',
    userInfo: '',
    userMenus: [],
    permissions: [],
    userData: {}
  }),
  actions: {
    async loginAccountAction(account?: IAccount) {
     console.log(account);
    },
  }
})
export default useLoginStore
